
#ifndef _MEMBER_BNODE_H_
#define _MEMBER_BNODE_H_

#include <BNode>
#include <BShape>
#include <BShape>
#include <BMaterial>
#include <BPhysics>

#define node_member(node)		((member_BNode*)((BNode*)node)->_ptr)

namespace BWE
{
	class member_BNode : public BObject
	{
		BOBJECT(member_BNode);
	public:
		member_BNode(BNode* node);
		~member_BNode();

		void slotShapeFresh(BObject* object, const BValue& value);
		void slotShapeDirty(BObject* object, const BValue& value);

	public:
		BNode*					boss;
		bool					visible;
		BMatrix					matrix;
		BBox					box;
		bool					dirtyBox;
		BSpace					space;
		bool					dirtySpace;
		BPhysicsHolder			physics;
		BArray<BShapeHolder>	shapes;
	};
}
#endif
